/**
 * @file image_io.h
 * @brief 图像输入/输出模块接口
 * 
 * 负责 PNG 图像的加载和处理结果的保存。
 * 使用 lodepng 库实现跨平台 PNG 支持。
 * 
 * @note 此模块在 AURIX 移植时需要替换为摄像头驱动接口
 */
#ifndef IMAGE_IO_H
#define IMAGE_IO_H
#include "platform.h"

/**
 * @brief 加载灰度 PNG 图像
 * @param filename 输入文件路径
 * @param image 输出图像数组 [IMAGE_HEIGHT][IMAGE_WIDTH]
 * @return true 成功加载, false 加载失败
 */
bool loadGrayPNG(const char* filename, unsigned char image[IMAGE_HEIGHT][IMAGE_WIDTH]);

/**
 * @brief 保存 PNG 格式图像（用于调试）
 * @param filename 输出文件路径
 * @param image 输入图像数组 [height][width]
 * @param height 图像高度
 * @param width 图像宽度
 * @return true 保存成功, false 保存失败
 */
bool savePNG(const char* filename, const unsigned char image[][SCALED_WIDTH], int height, int width);

#endif // IMAGE_IO_H
